gtk4.git
14 years agocss: Make CSS resolving work according to spec
Benjamin Otte [Thu, 29 Dec 2011 13:04:33 +0000 (14:04 +0100)]
css: Make CSS resolving work according to spec

See inline code comments taken from
  http://dev.w3.org/csswg/css3-cascade/#cascade

This now respects the special values "inherit" and "initial" properly.
Note that those values cannot be parsed yet. This will be added in a
future commit.

14 years agostyleproperty: Add _gtk_style_property_get_initial_value()
Benjamin Otte [Thu, 29 Dec 2011 13:04:19 +0000 (14:04 +0100)]
styleproperty: Add _gtk_style_property_get_initial_value()

14 years agocss: Pass the parent context to _gtk_css_lookup_resolve()
Benjamin Otte [Thu, 29 Dec 2011 12:38:45 +0000 (13:38 +0100)]
css: Pass the parent context to _gtk_css_lookup_resolve()

This way, we can resolve inherit properties.

14 years agowidget: Set parent style context
Benjamin Otte [Thu, 29 Dec 2011 11:40:21 +0000 (12:40 +0100)]
widget: Set parent style context

14 years agoAPI: Add GtkStyleContext::parent
Benjamin Otte [Thu, 29 Dec 2011 11:30:25 +0000 (12:30 +0100)]
API: Add GtkStyleContext::parent

We need this for proper support of CSS inherit.

14 years agostyleproperty: Pass initial value explicitly
Benjamin Otte [Thu, 29 Dec 2011 01:28:32 +0000 (02:28 +0100)]
styleproperty: Pass initial value explicitly

14 years agocss: Add GtkCssSpecialValue
Benjamin Otte [Thu, 29 Dec 2011 01:27:54 +0000 (02:27 +0100)]
css: Add GtkCssSpecialValue

14 years agocss: Add some docs to GtkCssLookup
Benjamin Otte [Wed, 28 Dec 2011 23:28:56 +0000 (00:28 +0100)]
css: Add some docs to GtkCssLookup

In particular, document which parts of the CSS value querying we're
doing here.

14 years agoreftests: Add test for pseudo-class matching
Benjamin Otte [Wed, 28 Dec 2011 22:16:51 +0000 (23:16 +0100)]
reftests: Add test for pseudo-class matching

Previous GTK matched pseudoclasses not based on CSS rules, but based on
their value in the enumeration. This is now fixed.

14 years agocss: Redo StyleProvider interface
Benjamin Otte [Wed, 28 Dec 2011 21:59:55 +0000 (22:59 +0100)]
css: Redo StyleProvider interface

We now use the GtkStleProviderPrivate interface, which hopefully is
faster and more conformant to CSS. Long term, it definitely should be
both.

I would have liked to split this up into multiple commits, but couldn't
find a way.

14 years agostyleproperties: Add a hacky function to redirect color lookups
Benjamin Otte [Wed, 28 Dec 2011 21:05:35 +0000 (22:05 +0100)]
styleproperties: Add a hacky function to redirect color lookups

This will soon be necessary.
FIXME: Make sure this gets removed again.

14 years agosymboliccolor: Add _gtk_symbolic_color_resolve_full()
Benjamin Otte [Wed, 28 Dec 2011 15:15:00 +0000 (16:15 +0100)]
symboliccolor: Add _gtk_symbolic_color_resolve_full()

14 years agostylecontext: Separate properties by states
Benjamin Otte [Tue, 27 Dec 2011 19:41:25 +0000 (20:41 +0100)]
stylecontext: Separate properties by states

We don't want to mix states the wrong way. And the current approach does
that.

14 years agostylecontext: Pass state to style data lookup function
Benjamin Otte [Tue, 27 Dec 2011 16:41:48 +0000 (17:41 +0100)]
stylecontext: Pass state to style data lookup function

14 years agocss: Add _gtk_style_property_get_count()
Benjamin Otte [Fri, 23 Dec 2011 13:30:59 +0000 (14:30 +0100)]
css: Add _gtk_style_property_get_count()

14 years agocssprovider: Keep a bitmask for the properties
Benjamin Otte [Fri, 23 Dec 2011 13:23:52 +0000 (14:23 +0100)]
cssprovider: Keep a bitmask for the properties

That way we can easily tell wich properties are in use.

14 years agocss: Add _gtk_style_property_get_id()
Benjamin Otte [Fri, 23 Dec 2011 13:12:04 +0000 (14:12 +0100)]
css: Add _gtk_style_property_get_id()

14 years agostyleproperty: Assign a unique id to every styleproperty
Benjamin Otte [Fri, 23 Dec 2011 11:31:16 +0000 (12:31 +0100)]
styleproperty: Assign a unique id to every styleproperty

14 years agotests: Add tests for GtkBitmask
Benjamin Otte [Fri, 23 Dec 2011 21:29:34 +0000 (22:29 +0100)]
tests: Add tests for GtkBitmask

14 years agogtk: Add GtkBitmask
Benjamin Otte [Fri, 23 Dec 2011 11:16:18 +0000 (12:16 +0100)]
gtk: Add GtkBitmask

The CSS code likes to have that very much.

14 years agogtkscale: fix bogus compare func
Stefan Sauer [Mon, 9 Jan 2012 17:16:53 +0000 (18:16 +0100)]
gtkscale: fix bogus compare func

The GtkScaleMark values are gdouble, a simple a-b compare func would fail for
values with the same integer value. This breaks the sorting and causes random
marker label placement.

14 years agowayland: Constrain the window configure requests to the window's geometry
Rob Bradford [Mon, 9 Jan 2012 17:15:00 +0000 (17:15 +0000)]
wayland: Constrain the window configure requests to the window's geometry

When we receive a configure event from Wayland telling us to resize our
surface we check against the geometry constraints for the window to ensure we
do not resize below the minimum and maximum limits.

14 years agowayland: Implement set_geometry_hints vfunc
Rob Bradford [Mon, 9 Jan 2012 17:11:22 +0000 (17:11 +0000)]
wayland: Implement set_geometry_hints vfunc

Our trivial implementation simply saves the passed in parameters into the
Wayland private data structure.

14 years agoscrolledwindow: Render the background so that it can be styled
Rui Matos [Thu, 22 Dec 2011 14:49:50 +0000 (14:49 +0000)]
scrolledwindow: Render the background so that it can be styled

14 years agowindow: Stop setting state flags on the style context for drawing
Rui Matos [Thu, 22 Dec 2011 14:44:50 +0000 (14:44 +0000)]
window: Stop setting state flags on the style context for drawing

This also removes setting the FOCUSED state flag when
gtk_window_has_toplevel_focus() since this effect can now be done with the new
WINDOW_UNFOCUSED flag instead which actually works better regarding X grabs
and modal windows.

14 years agotreeview: Use the widget state flags as a base for drawing expanders
Rui Matos [Thu, 22 Dec 2011 02:59:16 +0000 (02:59 +0000)]
treeview: Use the widget state flags as a base for drawing expanders

14 years agotreeview: Stop setting state flags on the style context for drawing
Rui Matos [Thu, 22 Dec 2011 02:58:27 +0000 (02:58 +0000)]
treeview: Stop setting state flags on the style context for drawing

14 years agotrayicon-x11: Stop setting state flags on the style context for drawing
Rui Matos [Thu, 22 Dec 2011 00:37:10 +0000 (00:37 +0000)]
trayicon-x11: Stop setting state flags on the style context for drawing

14 years agotoolitemgroup: Use the widget state flags as a base for drawing
Rui Matos [Thu, 22 Dec 2011 00:31:07 +0000 (00:31 +0000)]
toolitemgroup: Use the widget state flags as a base for drawing

14 years agotoolbar: Stop setting state flags on the style context for drawing
Rui Matos [Thu, 22 Dec 2011 00:12:37 +0000 (00:12 +0000)]
toolbar: Stop setting state flags on the style context for drawing

14 years agoRevert "button: Stop setting state flags on the style context for drawing"
Rui Matos [Wed, 21 Dec 2011 23:41:50 +0000 (23:41 +0000)]
Revert "button: Stop setting state flags on the style context for drawing"

Setting state flags is actually needed here since this function is called by
GtkButton subclasses which add their specific state flags as a parameter.

This reverts commit e868b8d6ea04af6e31d7075d09508689873c0df5.

14 years agotextdisplay: Use the widget state flags as a base for drawing
Rui Matos [Wed, 21 Dec 2011 23:27:15 +0000 (23:27 +0000)]
textdisplay: Use the widget state flags as a base for drawing

14 years agospinner: Stop setting state flags on the style context for drawing
Rui Matos [Wed, 21 Dec 2011 23:06:39 +0000 (23:06 +0000)]
spinner: Stop setting state flags on the style context for drawing

14 years agospinbutton: Use the widget state flags as a base for drawing
Rui Matos [Wed, 21 Dec 2011 16:17:18 +0000 (16:17 +0000)]
spinbutton: Use the widget state flags as a base for drawing

14 years agoseparator: Stop setting state flags on the style context for drawing
Rui Matos [Wed, 21 Dec 2011 15:30:28 +0000 (15:30 +0000)]
separator: Stop setting state flags on the style context for drawing

14 years agoscale: Stop setting state flags on the style context for drawing
Rui Matos [Wed, 21 Dec 2011 15:15:10 +0000 (15:15 +0000)]
scale: Stop setting state flags on the style context for drawing

14 years agorange: Use the widget state flags as a base for drawing
Rui Matos [Wed, 21 Dec 2011 15:01:02 +0000 (15:01 +0000)]
range: Use the widget state flags as a base for drawing

14 years agoradiobutton: Use the widget state flags as a base for drawing
Rui Matos [Wed, 21 Dec 2011 14:20:02 +0000 (14:20 +0000)]
radiobutton: Use the widget state flags as a base for drawing

14 years agowidget-factory: Make the second spin button insensitive
Rui Matos [Wed, 21 Dec 2011 16:12:17 +0000 (16:12 +0000)]
widget-factory: Make the second spin button insensitive

14 years agowayland: Make the resize and move functions use gdk_device_ungrab
Rob Bradford [Mon, 9 Jan 2012 16:00:14 +0000 (16:00 +0000)]
wayland: Make the resize and move functions use gdk_device_ungrab

Now that grab and ungrab vfuncs are implemented on GdkDevice then we can use
gdk_device_ungrab to break the implicit grab created by the button press that
triggered the resize and move.

14 years agowayland: Add implementations for the device_grab / device_ungrab vfuncs
Kristian Høgsberg [Mon, 9 Jan 2012 15:49:57 +0000 (15:49 +0000)]
wayland: Add implementations for the device_grab / device_ungrab vfuncs

This allows the correct implementation of breaking the grab in pointer driven
resize and move.

Signed-off-by: Rob Bradford <rob@linux.intel.com>
14 years agoapplication: Correct the fallback definition for gtk_application_end_session
Rob Bradford [Mon, 9 Jan 2012 15:07:08 +0000 (15:07 +0000)]
application: Correct the fallback definition for gtk_application_end_session

The function definition used a pointer to the enum value rather than the enum
itself.

This broke the build on platforms that don't have an implmentation of these
functions.

14 years agoGtkButton: do not allow both types of actions
Ryan Lortie [Fri, 6 Jan 2012 18:16:36 +0000 (13:16 -0500)]
GtkButton: do not allow both types of actions

Only allow one of 'action-name' or 'related-action' to be set.

https://bugzilla.gnome.org/show_bug.cgi?id=667394

14 years agobloatpad: add left/centre/right toolbar buttons
Ryan Lortie [Fri, 6 Jan 2012 17:51:10 +0000 (12:51 -0500)]
bloatpad: add left/centre/right toolbar buttons

https://bugzilla.gnome.org/show_bug.cgi?id=667394

14 years agoAdd new GtkActionable interface
Ryan Lortie [Fri, 6 Jan 2012 03:22:06 +0000 (22:22 -0500)]
Add new GtkActionable interface

This is the interface for GtkWidgets that can be associated with an
action on a GtkAppicationWindow or associated GtkApplication.

It essentially features 'action-name' and 'action-target' properties
with some associated convenience API.

This interface is implemented by GtkButton and GtkToolButton.

https://bugzilla.gnome.org/show_bug.cgi?id=667394

14 years agodrop debian/ directory
Ryan Lortie [Mon, 9 Jan 2012 13:29:11 +0000 (14:29 +0100)]
drop debian/ directory

14 years agogtkmain.h: Used GDK_DEPRECATED
Murray Cumming [Mon, 9 Jan 2012 13:19:21 +0000 (14:19 +0100)]
gtkmain.h: Used GDK_DEPRECATED

If we use just G_GNUC_DEPRECATED then it cannot be disabled by
an ifdef.

14 years agoRevert "GtkWindow: new API to store state in GSettings"
Matthias Clasen [Mon, 9 Jan 2012 05:53:53 +0000 (00:53 -0500)]
Revert "GtkWindow: new API to store state in GSettings"

This reverts commit 730765de9163934d9993b25a87f076f1b36ed271.

This needs more thought, committing it on the same day as filing
the bug was premature.

14 years agoFix up symbol lists
Matthias Clasen [Mon, 9 Jan 2012 05:25:39 +0000 (00:25 -0500)]
Fix up symbol lists

14 years agoAdd more tests for GdkRGBA parsing
Matthias Clasen [Mon, 9 Jan 2012 03:18:46 +0000 (22:18 -0500)]
Add more tests for GdkRGBA parsing

These examples are taken from bug 667485.

14 years agoTighten up GdkRGBA parsing
Matthias Clasen [Mon, 9 Jan 2012 03:16:36 +0000 (22:16 -0500)]
Tighten up GdkRGBA parsing

gdk_rgba_parse was accepting too much nonsense, as pointed out
in bug 667485.

14 years agoUpdated Spanish translation
Daniel Mustieles [Sun, 8 Jan 2012 19:17:36 +0000 (20:17 +0100)]
Updated Spanish translation

14 years agoUpdated Bulgarian translation
Alexander Shopov [Sun, 8 Jan 2012 15:21:05 +0000 (17:21 +0200)]
Updated Bulgarian translation

14 years agoFix the gtk_application_end_session implementation
Matthias Clasen [Sun, 8 Jan 2012 07:16:26 +0000 (02:16 -0500)]
Fix the gtk_application_end_session implementation

We were passing the wrong flags, causing the meaning of
the request_confirmation parameter to be inverted.

14 years agoAdd a test for the new session api
Matthias Clasen [Sun, 8 Jan 2012 07:15:49 +0000 (02:15 -0500)]
Add a test for the new session api

14 years agoFix doc build
Matthias Clasen [Sun, 8 Jan 2012 02:47:42 +0000 (21:47 -0500)]
Fix doc build

14 years agoAdd session management migration chapter
Matthias Clasen [Sun, 8 Jan 2012 02:44:52 +0000 (21:44 -0500)]
Add session management migration chapter

Add some preliminary information about migration from EggSMClient
to GtkApplication.

14 years agoRearrange migration chapter a bit
Matthias Clasen [Sun, 8 Jan 2012 01:44:37 +0000 (20:44 -0500)]
Rearrange migration chapter a bit

The 'checklist' is really just the 'extra credits', so put it
at the end, rather than the beginning.

14 years agoGtkApplication: only allow quit_response when it make sense
Matthias Clasen [Sun, 8 Jan 2012 01:01:23 +0000 (20:01 -0500)]
GtkApplication: only allow quit_response when it make sense

This check was present in the OS X implementation, but it
makes sense in the D-Bus implementation as well.

14 years agoRemove some debug spew
Matthias Clasen [Sun, 8 Jan 2012 00:55:20 +0000 (19:55 -0500)]
Remove some debug spew

14 years agoGtkApplication: Add OS X implementation from EggSMClient
Matthias Clasen [Sun, 8 Jan 2012 00:52:14 +0000 (19:52 -0500)]
GtkApplication: Add OS X implementation from EggSMClient

14 years agoRename rgba test file
Matthias Clasen [Sun, 8 Jan 2012 00:02:48 +0000 (19:02 -0500)]
Rename rgba test file

Not testing GdkColor here, anymore.

14 years agoUse g_slice_dup
Matthias Clasen [Sun, 8 Jan 2012 00:00:47 +0000 (19:00 -0500)]
Use g_slice_dup

This saves some manual copying.
Pointed out in bug 667473.

14 years agoAdd a test for gdk_rgba_copy
Matthias Clasen [Sun, 8 Jan 2012 00:00:32 +0000 (19:00 -0500)]
Add a test for gdk_rgba_copy

14 years agoMissing file in POTFILEs.in
Daniel Mustieles [Sat, 7 Jan 2012 17:53:26 +0000 (18:53 +0100)]
Missing file in POTFILEs.in

14 years agoChange param name to make gtk-doc happy.
Paolo Borelli [Sat, 7 Jan 2012 17:05:59 +0000 (18:05 +0100)]
Change param name to make gtk-doc happy.

14 years agotests: Fix deprecation warnings in prop-editor
Benjamin Otte [Sat, 7 Jan 2012 15:14:31 +0000 (16:14 +0100)]
tests: Fix deprecation warnings in prop-editor

14 years agoapplication: return a value
Benjamin Otte [Sat, 7 Jan 2012 14:56:26 +0000 (15:56 +0100)]
application: return a value

14 years agogtkapplication.c: Fix syntax error
Martin Pitt [Sat, 7 Jan 2012 09:04:18 +0000 (10:04 +0100)]
gtkapplication.c: Fix syntax error

Previous commit accidentally removed the closing } from
gtk_application_end_session(). Add it back to unbreak the build.

14 years agoAdd a trivial implementation of the new apis
Matthias Clasen [Sat, 7 Jan 2012 05:38:57 +0000 (00:38 -0500)]
Add a trivial implementation of the new apis

For non-X11, this is just a placeholder until we get around
to moving the EggSMClient implementations over.

14 years agoDocument the new apis
Matthias Clasen [Sat, 7 Jan 2012 08:15:26 +0000 (03:15 -0500)]
Document the new apis

14 years agoAdd gtk_application_end_session
Matthias Clasen [Sat, 7 Jan 2012 08:04:54 +0000 (03:04 -0500)]
Add gtk_application_end_session

This function allows applications to request that
the user session be ended by logout/shutdown/reboot.

14 years agoGtkApplication: Add an inhibit api
Matthias Clasen [Tue, 3 Jan 2012 20:02:49 +0000 (15:02 -0500)]
GtkApplication: Add an inhibit api

This lets applications block logout and similar actions ahead
of time. Currently only implemented for D-Bus, but Windows has
very similar API since Vista.

14 years agoGtkApplication: Add logout notification
Matthias Clasen [Tue, 3 Jan 2012 19:52:29 +0000 (14:52 -0500)]
GtkApplication: Add logout notification

This is fairly basic, allowing applications to learn when
the session manager is about to end the session, and possibly
block this. The only implementation at this point is using the
org.gnome.SessionManager D-Bus interface of gnome-session. It should
be straightforward to port the EggSMClient implementations for
Windows and OS X.

14 years agoUpdate Visual C++ property sheets
Chun-wei Fan [Sat, 7 Jan 2012 03:21:46 +0000 (11:21 +0800)]
Update Visual C++ property sheets

"Install" (and hence compile with glib-compile-schemas.exe) the new
org.gtk.WindowState.gschema.xml gschema file.

14 years agoGtkWindow: new API to store state in GSettings
Ryan Lortie [Fri, 6 Jan 2012 20:37:05 +0000 (15:37 -0500)]
GtkWindow: new API to store state in GSettings

https://bugzilla.gnome.org/show_bug.cgi?id=667438

14 years agoGtkBuilder: support parsing GVariant properties
Ryan Lortie [Fri, 6 Jan 2012 15:53:57 +0000 (10:53 -0500)]
GtkBuilder: support parsing GVariant properties

https://bugzilla.gnome.org/show_bug.cgi?id=667394

14 years agoUpdated POTFILES.skip
Piotr Drąg [Fri, 6 Jan 2012 20:18:28 +0000 (21:18 +0100)]
Updated POTFILES.skip

14 years agowayland: Break an implicit grab when asking to be resized
Rob Bradford [Fri, 6 Jan 2012 16:49:22 +0000 (16:49 +0000)]
wayland: Break an implicit grab when asking to be resized

An implicit grab is created inside GTK+ when the button is pressed down on a
window. The semantics of wl_shell_surface_resize means that you don't get a
corresponding release event that would ordinarily break the implicit grab. So
we must do it as part of the resize request.

14 years agowayland: Make the event source use _gdk_display_get_next_serial
Rob Bradford [Fri, 6 Jan 2012 16:48:13 +0000 (16:48 +0000)]
wayland: Make the event source use _gdk_display_get_next_serial

14 years agowayland: Implement the get_next_serial vfunc on GdkDisplay
Rob Bradford [Fri, 6 Jan 2012 16:47:53 +0000 (16:47 +0000)]
wayland: Implement the get_next_serial vfunc on GdkDisplay

14 years agogtkspinbutton: Don't hilight buttons when !editable
Zeeshan Ali (Khattak) [Thu, 5 Jan 2012 01:09:27 +0000 (03:09 +0200)]
gtkspinbutton: Don't hilight buttons when !editable

Don't hilight the buttons on mouse over when 'editable' property is set to
'FALSE.

https://bugzilla.gnome.org/show_bug.cgi?id=667229

14 years agowayland: The shared cursors are now installed in the weston directory
Kristian Høgsberg [Fri, 6 Jan 2012 15:10:42 +0000 (15:10 +0000)]
wayland: The shared cursors are now installed in the weston directory

Signed-off-by: Rob Bradford <rob@linux.intel.com>
14 years agoGtkApplication: Rename a member for clarity
Matthias Clasen [Tue, 3 Jan 2012 19:39:26 +0000 (14:39 -0500)]
GtkApplication: Rename a member for clarity

'session' is a bit ambiguous (and GtkApplication may grow session
management support at some point), so rename the bus connection
to 'session_bus'.

14 years agoAnother attempt at fixing menu positioning corner cases
Matthias Clasen [Fri, 6 Jan 2012 04:21:30 +0000 (23:21 -0500)]
Another attempt at fixing menu positioning corner cases

The code for moving the menu into monitor / workarea was duplicated,
once for the push-in scenario and once for without. The problem with
the second case is that we've stored the menu position before adjusting
it. That made us remember an out-of-monitor position that then later
triggered _another_ copy of this code in the size-request implementation.

Unify this to only have one copy of code, and only store the menu
position after adjusting it to be inside the monitor. This fixes both
statusicon menus that get popped up from the panel, outside the workarea,
to not have scroll arrows, and the gedit language menu which was not
placed in the monitor at all after the initial workarea commit.

As a side-effect of this change, we now make large scrolling menus
occupy the full height of the workarea. Before this change, we were
keeping either the top or bottom edge put while shrinking the menu
to fit in the monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=667249

14 years agolabel: Avoid deprecation warning
Benjamin Otte [Fri, 6 Jan 2012 04:23:15 +0000 (05:23 +0100)]
label: Avoid deprecation warning

14 years agolabel: Actually mark visited labels as visited
Benjamin Otte [Fri, 6 Jan 2012 04:17:46 +0000 (05:17 +0100)]
label: Actually mark visited labels as visited

A recalculate will clear the labels and compute them again, which will
clear the information if something was visited...

14 years agoreftests: Add a test for latest commit
Benjamin Otte [Fri, 6 Jan 2012 04:15:18 +0000 (05:15 +0100)]
reftests: Add a test for latest commit

We want to make sure we notice when we mess up label attribute ordering
again...

14 years agolabel: Make attr_list_merge() use sane merging rules
Benjamin Otte [Fri, 6 Jan 2012 04:10:50 +0000 (05:10 +0100)]
label: Make attr_list_merge() use sane merging rules

Instead of "attribute with later start index wins, make sure the
attribute list that is merged from takes precedence. This now gives the
multiple attribute lists we use in the label an order:

1) gtk_label_set_attributes()
  These attributes override everything. It's what the function's there
  for after all.
2) markup of label
  Other user-specified attributes come next.
3) attributes for links
  When we apply custom attributes on parts of the text, we put them
  last. We don't want to mess with what the user does. Also, we change
  color and underline, so we usually have something to show.

14 years agolabel: Rename variable
Benjamin Otte [Fri, 6 Jan 2012 04:07:36 +0000 (05:07 +0100)]
label: Rename variable

The effective attributes aren't that anymore. They're now just the
attributes from the parsed markup.

14 years agolabel: Don't excessively recalculate
Benjamin Otte [Fri, 6 Jan 2012 04:06:29 +0000 (05:06 +0100)]
label: Don't excessively recalculate

We don't merge attributes anymore, so no need to call the function that
used to do this job.

14 years agolabel: Redo attribute application
Benjamin Otte [Fri, 6 Jan 2012 04:04:13 +0000 (05:04 +0100)]
label: Redo attribute application

- Don't compute link color attributes until layout creation
This is useful as a performance enhancement, because we don't have to
lookup the property after setting the text, so multiple markup sets
don't cost style lookups.
- Don't merge attrs into effective_attrs
We do this when applying link colors now. Keeping them separate allows
invalidating them separately.

14 years agoilabel: Redo gtk_label_get_link_colors()
Benjamin Otte [Fri, 6 Jan 2012 03:25:02 +0000 (04:25 +0100)]
ilabel: Redo gtk_label_get_link_colors()

Don't pass out an allocated color, assign it instead. Gets rid of having
to call gdk_color_free() all the time.

14 years agolabel: Split out function that merges attr lists
Benjamin Otte [Fri, 6 Jan 2012 01:53:12 +0000 (02:53 +0100)]
label: Split out function that merges attr lists

14 years agogtk-demo: Prove that links work fine now
Benjamin Otte [Fri, 6 Jan 2012 01:04:01 +0000 (02:04 +0100)]
gtk-demo: Prove that links work fine now

Also, doodling is fun.

14 years agolabel: Redo links parsing
Benjamin Otte [Fri, 6 Jan 2012 00:52:32 +0000 (01:52 +0100)]
label: Redo links parsing

Instead of getting confused by applied underline or color tags in the
regular markup, we store the link start/end when we actually parse the
text. As a bonus, we can avoid rescanning links when creating the
markup.

14 years agolabel: Move function into only caller
Benjamin Otte [Thu, 5 Jan 2012 16:06:00 +0000 (17:06 +0100)]
label: Move function into only caller

14 years agoAPI: Deprecate key snooping
Benjamin Otte [Thu, 5 Jan 2012 15:50:49 +0000 (16:50 +0100)]
API: Deprecate key snooping

You really shouldn't be doing this. If you have to, you can use
gdk_window_add_filter() or listen to raw events on XI2.

14 years agoa11y: Remove keysnooping support
Benjamin Otte [Thu, 5 Jan 2012 15:48:14 +0000 (16:48 +0100)]
a11y: Remove keysnooping support

As previously announced, key snooping is something that we should not
support in GTK. In particular because AT-SPI made every key press a
synchronous DBUS call / spawned a nested main loop with the key
snoopers. This breaks responsiveness, order of key presses and internal
consistency when the AT decides to remove key events.

14 years agogtkspinbutton: Ignore keynav when !editable
Zeeshan Ali (Khattak) [Thu, 5 Jan 2012 01:09:06 +0000 (03:09 +0200)]
gtkspinbutton: Ignore keynav when !editable

Don't allow changing of value through keyboard when 'editable' property is
set to 'FALSE.

https://bugzilla.gnome.org/show_bug.cgi?id=667229